from PIL import Image
import os

def png_to_jpg(png_path, jpg_path):
    try:
        # 打开 PNG 图片
        with Image.open(png_path) as img:
            # 转换为 RGB 模式 (JPG 不支持透明通道)
            img = img.convert("RGB")
            
            # 保存为 JPG 格式
            img.save(jpg_path, "JPEG")
            print(f"转换成功: {png_path} -> {jpg_path}")
    except Exception as e:
        print(f"转换失败: {e}")

# 示例：将 PNG 转换为 JPG
def batch_convert(input_folder, output_folder):
    # 遍历文件夹中的所有 PNG 文件
    for filename in os.listdir(input_folder):
        if filename.endswith(".png"):
            png_path = os.path.join(input_folder, filename)
            # 创建 JPG 文件的路径
            jpg_filename = filename.replace(".png", ".jpg")
            jpg_path = os.path.join(output_folder, jpg_filename)
            
            # 调用转换函数
            png_to_jpg(png_path, jpg_path)

# 示例用法
input_folder = r'D:\dage\脚本\python_chang\tu'  # 输入文件夹路径
output_folder = r'D:\dage\脚本\python_chang\tu'  # 输出文件夹路径

# 创建输出文件夹（如果不存在）
os.makedirs(output_folder, exist_ok=True)

# 批量转换
batch_convert(input_folder, output_folder)
